package org.linlinjava.litemall.admin.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Builder;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;

@Data
@Builder
@ApiModel("策略统计列表")
public class AdminStrategyCouponStatisticVO implements Serializable {

    @ApiModelProperty("id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;
    @ApiModelProperty("赠送策略")
    private Integer couponType;
    @ApiModelProperty("策略名称")
    private String strategyName;
    @ApiModelProperty("优惠券名称")
    private String couponName;
    @ApiModelProperty("发放数量")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long pullNumber;
    @ApiModelProperty("领取数量")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long receivingNumber;
    @ApiModelProperty("使用数量")
    private Long useNum;
    @ApiModelProperty("过期数量")
    private Long expireNum;

    @ApiModelProperty("会员用券数量")
    private Long memberUseNum;

    @ApiModelProperty("用券订单总额")
    private String orderTotalActual;
    @ApiModelProperty("总优惠金额")
    private String orderTotalDiscount;
    @ApiModelProperty("使用范围")
    private Integer[] ranges;
    @ApiModelProperty("折扣类型")
    private Byte discountType;
    @ApiModelProperty("有效期类型")
    private Short timeType;
    @ApiModelProperty("天数")
    private Short days;
    @ApiModelProperty("起")
 @JsonSerialize(using = ToStringSerializer.class)
    private LocalDateTime startTime;
    @ApiModelProperty("止")
 @JsonSerialize(using = ToStringSerializer.class)
    private LocalDateTime endTime;
}
